package com.example.common.config;

import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;
import cn.hutool.crypto.symmetric.AES;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class EncryptConfig {

    @Bean
    public AES aes(){

        // key：AES模式下，key必须为16位
        String key = "1234567812345678";
        // iv：偏移量，ECB模式不需要，CBC模式下必须为16位
        String iv = "1234567812345678";

        // AES aes = new AES(Mode.ECB, Padding.PKCS5Padding, key.getBytes());
        AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, key.getBytes(), iv.getBytes());

        return aes;
    }

//
//    public static void main(String[] args) {
//
//        // key：AES模式下，key必须为16位
//        String key = "1234567812345678";
//        // iv：偏移量，ECB模式不需要，CBC模式下必须为16位
//        String iv = "1234567812345678";
//
//        // AES aes = new AES(Mode.ECB, Padding.PKCS5Padding, key.getBytes());
//        AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, key.getBytes(), iv.getBytes());
//
////        System.out.println(aes.encryptBase64("123456".getBytes()));
//    }
}
